GtkFontChooser: The spinner now updates the slider size if it is within the range
authorAlberto Ruiz <aruiz@gnome.org>
Sat, 16 Apr 2011 16:12:18 +0000 (17:12 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 15 Aug 2011 22:57:52 +0000 (18:57 -0400)
gtk/gtkfontchooser.c

index 89ea2e645b81642b35ee40bf5c909317abddc6b5..6349de21f6e021c4fd56046a9c9b62971fbf2c90 100644 (file)
@@ -304,8 +304,6 @@ icon_press_cb (GtkEntry             *entry,
                GdkEvent             *event,
                gpointer              user_data)
 {
-  GtkFontSelectionPrivate *priv  = (GtkFontSelectionPrivate*)user_data;
-
   gtk_entry_buffer_delete_text (gtk_entry_get_buffer (entry), 0, -1);
 }
 
@@ -322,7 +320,17 @@ void
 spin_change_cb (GtkAdjustment *adjustment, gpointer data)
 {
   GtkFontSelectionPrivate *priv = (GtkFontSelectionPrivate*)data;
+
+  gdouble size = gtk_adjustment_get_value (adjustment);
   
+  GtkAdjustment *slider_adj = gtk_range_get_adjustment (GTK_RANGE (priv->size_slider));
+
+  if (size >= gtk_adjustment_get_lower (slider_adj) ||
+      size <= gtk_adjustment_get_upper (slider_adj))
+    {
+      gtk_adjustment_set_value (slider_adj, size);
+    }
+
   priv->size = ((gint)gtk_adjustment_get_value (adjustment)) * PANGO_SCALE;
 }
 
@@ -573,8 +581,8 @@ visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
                       -1);
 
   /* Covering some corner cases to speed up the result */
-  if ((font_name == NULL) ||
-      (strlen (search_text) > strlen (font_name)))
+  if (font_name == NULL ||
+      strlen (search_text) > strlen (font_name))
     {
       g_free (font_name);
       return FALSE;